[1] Tampuu, Ardi, et al. "Multiagent cooperation and competition with deep reinforcement learning." PloS one 12.4 (2017): e0172395.[2] Gupta, Jayesh K., Maxim Egorov, and Mykel Kochenderfer. "Cooperative multi-agent control using deep reinforcement learning" International Conference on Autonomous Agents and Multiagent Systems. Springer, Cham, 2017.
论文标题:Multiagent Cooperation and Competition with Deep Reinforcement Learning
论文链接:https://arxiv.org/abs/1511.08779
这篇文章首次将 DQN 算法与 IQL 结合起来,并将其应用到 ALE 环境中的 Pong 游戏中(该游戏内部场景如下图所示,图片来源原论文)。
[1] Foerster, Jakob, et al. "Learning to communicate with deep multi-agent reinforcement learning" Advances in Neural Information Processing Systems. 2016.
[2] Sukhbaatar, Sainbayar, and Rob Fergus. "Learning multiagent communication with backpropagation" Advances in Neural Information Processing Systems. 2016.
[3] Peng, Peng, et al. "Multiagent bidirectionally-coordinated nets for learning to play starcraft combat games" arXiv preprint arXiv:1703.10069 2 (2017).
[4] Jiang, Jiechuan, and Zongqing Lu. "Learning attentional communication for multi-agent cooperation" Advances in Neural Information Processing Systems. 2018.
[5] Kim, Daewoo, et al. "Learning to Schedule Communication in Multi-agent Reinforcement Learning" arXiv preprint arXiv:1902.01554 (2019).
论文标题:Learning to Communicate with Deep Multi-Agent Reinforcement Learning
该框架中所有灰色模块部分的参数均是所有智能体共享的,这一定程度上提升了算法的可扩展性。从上图可以看出,算法接收所有智能体的局部观察作为输入,然后输出所有智能体的决策(其实整个框架有一点图神经网络的意思,这里使用的聚合函数就是 mean 函数,然后整个图是一个星状图)。本算法采用的信息传递方式是采用广播的方式,文中认为可以对算法做出些许修改,让每个智能体只接收其相邻 个智能体的信息。拿上图中间的框架图来说明,即上层网络每个模块的输入,不再都是所有智能体消息的平均,而是每个模块只接受满足条件的下层消息的输出,这个条件即下层模块对应的智能体位于其领域范围内。这样通过增加网络层数,即可增大智能体的感受野(借用计算机视觉的术语),从而间接了解全局的信息。除此之外,文中还提出了两种对上述算法可以采取的改进方式:
Sunehag, Peter, et al. "Value-decomposition networks for cooperative multi-agent learning" arXiv preprint arXiv:1706.05296 (2017).Rashid, Tabish, et al. "QMIX: Monotonic value function factorisation for deep multi-agent reinforcement learning" arXiv preprint arXiv:1803.11485 (2018).Son, Kyunghwan, et al. "QTRAN: Learning to Factorize with Transformation for Cooperative Multi-Agent Reinforcement Learning" arXiv preprint arXiv:1905.05408 (2019).
基于演员-评论家的方法:
Lowe, Ryan, et al. "Multi-agent actor-critic for mixed cooperative-competitive environments" Advances in Neural Information Processing Systems. 2017.Foerster, Jakob N., et al. "Counterfactual multi-agent policy gradients" Thirty-Second AAAI Conference on Artificial Intelligence. 2018.Wei, Ermo, et al. "Multiagent soft q-learning" 2018 AAAI Spring Symposium Series. 2018.Iqbal, Shariq, and Fei Sha. "Actor-Attention-Critic for Multi-Agent Reinforcement Learning" arXiv preprint arXiv:1810.02912 (2018).
基于经验回放缓存的方法:
Foerster, Jakob, et al. "Stabilising experience replay for deep multi-agent reinforcement learning" Proceedings of the 34th International Conference on Machine Learning-Volume 70. JMLR. org, 2017.Omidshafiei, Shayegan, et al. "Deep decentralized multi-task multi-agent reinforcement learning under partial observability" Proceedings of the 34th International Conference on Machine Learning-Volume 70. JMLR. org, 2017.
下面我们将从这三个方面分别进行讨论。
基于值函数的方法
论文标题:Value-Decomposition Networks For Cooperative Multi-Agent Learning
由于每个智能体的 critic 网络是基于全局信息的,因而可以处理环境非平稳问题。每个智能体 actor network 的梯度通过如下方式计算:
critic network 的损失函数如下:
算法伪代码如下:
另外,算法还进行了两点改进。其一,由于算法假设中心化训练每个智能体的 critic network 时,需要知晓所有智能体当前时间步的局部观察以及动作,本文认为知晓每个智能体的动作(即策略)是一个比较强的假设,因而提出了一个估计其余智能体 policy 的方法。具体来说,每个智能体均维护一个其余智能体 actor network 的估计,通过历史每个智能体的数据,使用以下损失函数监督训练这个估计的 actor network:因而估计的 Q-value 通过如下方式计算:
另外,在多智能体环境中,本文认为训练出的针对每个智能体的 policy 容易对其余智能体过拟合,但是其余智能体的 policy 随着训练过程的进行是不断更新的,因而本文希望通过给每个智能体同时训练 k 个 actor network 的方式,使得智能体对于其他智能体策略的变化更加鲁棒。具体来说,每个 episode 开始前,都从 k 个 actor 中随机采样一个来进行训练,并且每个 actor 都有独立的 experience replay。每个 actor 参数梯度计算方式如下:
论文标题:Actor-Attention-Critic for Multi-Agent Reinforcement Learning
论文链接:https://arxiv.org/abs/1810.02912
本文提出的 MAAC 算法是在 MADDPG 上进行了一些修改,将 MADDPG 采用的 DDPG 算法替换为 SAC(soft actor-critic)算法,并将 COMA 提出的 counterfactual baseline 引入进来,因而可以同时处理协作、竞争以及混合环境,遵循 CTDE 框架。 其核心思想体现在,对于 MADDPG 算法,其每个智能体对应的 Q function 都是将其余智能体的局部观察以及动作无差别的作为输入,但是在现实场景中,智能体对于其余智能体的关注度是不一样的。为此,MAAC 算法将注意力机制引入到 Q function 的构建之中,具体来说,每个智能体的 Q-function 网络结构如下(图片来源原论文):
具体来说,每个智能体的 Q function 如下所示:
其中:
本文注意力机制采用的是多头注意力机制。由于在每个智能体的 Q function 中存在共享参数,因而优化目标与 MADDPG 不同:
其中:
最后,在更新策略网络的参数时,引入 COMA 提出的 counterfactual baseline:
算法伪代码如下:
基于经验回放(ER)的方法
Foerster, Jakob, et al. "Stabilising experience replay for deep multi-agent reinforcement learning" Proceedings of the 34th International Conference on Machine Learning-Volume 70. JMLR. org, 2017.
Omidshafiei, Shayegan, et al. "Deep decentralized multi-task multi-agent reinforcement learning under partial observability" Proceedings of the 34th International Conference on Machine Learning-Volume 70. JMLR. org, 2017.
由于这部分要介绍的两个工作主要聚焦于使用 ER 训练 Q-function 时增加稳定性(CommNet 甚至因为 ER 在 multi-agent 环境下的不稳定性而禁用了 ER),这两个方法前者遵循 CTDE 框架,并且类似 MADDPG 方法一样,均假设每个智能体拥有自己独立的 Q-function;后者则是完全独立的 IQL。这两个方法都是基于 Q-Learning 算法。Omidshafiei, Shayegan, et al. 的工作致力解决 partial observation 的问题,因而采用的是 DRQN 算法,本文提出采用 ER 训练 DRQN 时应当采用如下方式,并提出了 concurrent experience replay trajectories 的概念(图片来源原论文):
即每个智能体在独立训练自己的 Q-function 时,从 ER 中 sample 出来的数据需要从 episode 层面以及时间层面上对齐。Foerster, Jakob, et al. 则是从 importance sampling 的角度来考虑这个问题。对于某个智能体的 Q-function,我们有:
Foerster, Jakob, et al. "Stabilising experience replay for deep multi-agent reinforcement learning" Proceedings of the 34th International Conference on Machine Learning-Volume 70. JMLR. org, 2017.
Rabinowitz, Neil C., et al. "Machine theory of mind" arXiv preprint arXiv:1802.07740 (2018).
论文标题:Stabilising Experience Replay for Deep Multi-Agent Reinforcement Learning
论文链接:https://arxiv.org/abs/1702.08887
这篇文章我们之前已经讨论过,但是本文还提出了一种估计其他智能体策略的方法。这篇文章首先从 hyper Q-Learning 算法 [7] 出发,该算法通过贝叶斯估计的方法来估计其他智能体的策略。但是这种方法会增加 Q function 的输入维度,使得 Q function 更难学习。上述情况在深度强化学习中更加明显。考虑如下一个简单的 idea,我们把其他智能体策略函数的参数作为额外输入 ,但是在深度强化学习中策略函数一般是 DNN,因而维度太高基本不可行。那么更进一步,我们不用基于所有可能的 ,只要是在 ER 中出现的就可以,那么每一条轨迹都可以看作是 policy 的表示,但是轨迹数据维度还是太高了,我们需要找到一个低维的 “指纹“ 来代替轨迹,并且这个指纹还不能随着训练过程的进行变化太大,即需要光滑。本文提出了一个十分简单的指纹表示—— episode 索引号。这样一个听上去过于简单的指纹在性能上确实可以带来提升。但是存在一个比较大的问题在于,当其他智能体的策略收敛之后,索引号还在不断增加。另外,本文在之前指纹的基础上还增加了一个新的指纹—— exploration rate,这个值也能够一定程度上反应 policy 的特点。当然,指纹的构建也催生了另外一个方向,叫做轨迹嵌入(trajectory embedding),这个我们留待下次讨论。
论文标题:Machine Theory of Mind
论文链接:https://arxiv.org/abs/1802.07740
这篇论文是将行为以及脑科学领域 Theory of Mind(ToM)理论 [8] 引入到多智能体强化学习中,用以根据其他智能体历史行为数据来预测其未来行为等(这里我们只关注行为)。ToM 理论认为,预测一个智能体的未来行为,我们需要知道其性格(character)、思想(mental)以及当前状态。对于智能体各自的性格表示,我们通过以下方法编码:对于某个智能体 过去的轨迹数据 ,我们使用一个神经网络编码每一条轨迹 ,最后将这些编码加起来即可,。不同的智能体在不同时刻其思想会根据已经历过的事件以及性格的不同而不同,因而我们可以通过下面的计算方法来得到智能体当前思想的编码:
最后,在当前状态,我们结合智能体的性格以及当前思想,来预测其行为。整体网络结构如下所示:
🔍 现在,在「知乎」也能找到我们了进入知乎首页搜索「PaperWeekly」点击「关注」订阅我们的专栏吧 关于PaperWeekly PaperWeekly 是一个推荐、解读、讨论、报道人工智能前沿论文成果的学术平台。如果你研究或从事 AI 领域,欢迎在公众号后台点击「交流群」,小助手将把你带入 PaperWeekly 的交流群里。